home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Together in Jesus: 1st Eucharist Computer Fun
/
Together in Jesus - First Eucharist - Computer Fun.iso
/
fireworks.swf
/
scripts
/
DefineSprite_1_canvas
/
frame_5
/
DoAction.as
Wrap
Text File
|
2007-10-02
|
4KB
|
138 lines
function GetWidthRatio(char)
{
index = 0;
while(index < ratiotable.length)
{
if(ratiotable[index] == char)
{
return parseFloat(ratiotable[index + 1]);
}
index += 2;
}
size1 = textFormat.getTextExtent("W");
size2 = textFormat.getTextExtent(char);
return size2.width / size1.width;
}
_global.numEffect = 0;
_global.numStarted = 0;
_global.numLeaved = 0;
enterDelay = new Array();
leaveDelay = new Array();
xEffect = new Array();
yEffect = new Array();
textEffect = new Array();
curLine = 0;
curChar = 0;
curEnterDelay = 0;
curLeaveDelay = 0;
sumEnterDelay = 0;
sumLeaveDelay = 0;
while(curLine < paraText.Length)
{
if(curChar == 0 && curLine == 0)
{
textHeight = paraText.Length * lineHeight + (paraText.Length - 1) * lineSpace;
switch(param["Movie.TextVAlign"])
{
case "top":
textTop = 0;
break;
case "middle":
textTop = (param["Movie.Height"] - textHeight) / 2;
break;
case "bottom":
textTop = param["Movie.Height"] - textHeight;
}
lineTop = textTop + param["Movie.TextVOffset"] + lineHeight / 2;
}
if(curChar == 0)
{
switch(_global.playMode)
{
case 0:
lineWidth = (paraText[curLine].Length - 1) * charSpace;
i = 0;
while(i < paraText[curLine].Length)
{
lineWidth += GetWidthRatio(paraText[curLine].substr(i,1)) * charWidth;
i++;
}
break;
case 1:
lineWidth = charWidth;
}
switch(param["Movie.TextHAlign"])
{
case "left":
lineLeft = 0;
break;
case "center":
lineLeft = (param["Movie.Width"] - lineWidth) / 2;
break;
case "right":
lineLeft = param["Movie.Width"] - lineWidth;
}
charLeft = lineLeft + param["Movie.TextHOffset"] + charWidth / 2;
if(param["Movie.ReverseLetter"])
{
sumEnterDelay = 2 * curEnterDelay + (paraText[curLine].Length - 1) * param["Text.EnterDelay"];
sumLeaveDelay = 2 * curLeaveDelay + (paraText[curLine].Length - 1) * param["Text.LeaveDelay"];
}
}
if(curChar < paraText[curLine].Length)
{
if(param["Movie.ReverseLetter"])
{
cLetter = paraText[curLine].substr(paraText[curLine].Length - curChar - 1,1);
}
else
{
cLetter = paraText[curLine].substr(curChar,1);
}
widthRatio = GetWidthRatio(cLetter);
if(cLetter != " ")
{
_global.numEffect = _global.numEffect + 1;
if(param["Movie.ReverseLetter"])
{
enterDelay[_global.numEffect] = sumEnterDelay - curEnterDelay;
leaveDelay[_global.numEffect] = sumLeaveDelay - curLeaveDelay;
}
else
{
enterDelay[_global.numEffect] = curEnterDelay;
leaveDelay[_global.numEffect] = curLeaveDelay;
}
xEffect[_global.numEffect] = charLeft - (1 - widthRatio) * charWidth / 2;
yEffect[_global.numEffect] = lineTop;
textEffect[_global.numEffect] = cLetter;
}
switch(_global.playMode)
{
case 0:
charLeft += charWidth * widthRatio + charSpace;
break;
case 1:
}
curChar++;
curEnterDelay += param["Text.EnterDelay"];
curLeaveDelay += param["Text.LeaveDelay"];
}
if(curChar == paraText[curLine].Length)
{
if(param["Movie.SyncLine"])
{
curEnterDelay = 0;
curLeaveDelay = 0;
}
else
{
curEnterDelay += param["Text.EnterDelay"];
curLeaveDelay += param["Text.LeaveDelay"];
}
curChar = 0;
curLine++;
lineTop += lineHeight + lineSpace;
}
}